# 库的名字是mymath，并且是个动态库
dy-lib=libmymath.so

# 动态库的生成方式是用gcc，带上编译选项，直接编译就可以
$(dy-lib):Add.o Div.o Mul.o Sub.o
	gcc -shared -o $@ $^

# 生成动态库所需要的.o文件需要依赖于.c文件生成，并且也需要带上特殊选项，表示的是与位置无关码
%.o:%.c
	gcc -fPIC -c $<

# 整体将生成的内容进行打包
.PHONY:output
output:
	mkdir -p mymath_lib_so/include
	mkdir -p mymath_lib_so/lib
	cp -f *.h mymath_lib_so/include
	cp -f *.so mymath_lib_so/lib

# 对部分内容做出清理
.PHONY:clean
clean:
	rm -rf *.o *.so mymath_lib_so